
const webpack = require('webpack');
const CompressionWebpackPlugin = require('compression-webpack-plugin')

module.exports = {
    configureWebpack: {
        module: {
            rules: [
                // 最好最后下载cnpm的这个包，否则npm会干掉他
                // {
                //     test: /\.(png|jpe?g|gif)(\?.*)?$/,
                //     use: [
                //         // 'file-loader',
                //         {
                //             loader: 'image-webpack-loader',
                //             options: {
                //                 mozjpeg: {
                //                     progressive: true,
                //                 },
                //                 // optipng.enabled: false will disable optipng
                //                 optipng: {
                //                     enabled: false,
                //                 },
                //                 pngquant: {
                //                     quality: [0.65, 0.90],
                //                     speed: 4
                //                 },
                //                 gifsicle: {
                //                     interlaced: false,
                //                 },
                //                 // the webp option will enable WEBP
                //                 webp: {
                //                     quality: 75
                //                 }
                //             }
                //         },
                //     ],
                // }
            ]
        },
        // externals: {
        //     // 指定需要挂载的第三方库 格式：  第三方库名 ：'库在项目中的别名'
        //     // 注意element-ui别名只能用ELEMENT，改了会出现undefined的保存
        //     vue: 'Vue',
        //     vuex: 'Vuex',
        //     'vue-router': 'VueRouter',
        //     axios: 'axios',
        //     echarts: 'echarts',
        //     'element-ui': 'ELEMENT'
        // },
        plugins: [
            new webpack.ContextReplacementPlugin(
                /moment[/\\]locale$/,
                /zh-cn/),
            new CompressionWebpackPlugin({
                algorithm: 'gzip',
                test: /\.js$|\.html$|\.css/, // 匹配的文件名
                threshold: 10240, // 文件超过10k，进行gzip压缩
                minRatio: 0.8,
                deleteOriginalAssets: false // 是否删除原文件
            })
        ]
        // config
        //     .plugin('webpack-bundle-analyzer')
        //     .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
    }
}
